Feedback-based broadcast network coded packet transmission

ABSTRACT

Various aspects of the present disclosure generally relate to wireless communication. In some aspects, a transmitter may perform a first encoding operation on source packets that generates a first set of network coding encoded packets and may broadcast the first set of network coding encoded packets for reception by a plurality of receivers. The transmitter may receive feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The transmitter may broadcast a second set of network coding encoded packets that does not include any of the first subset of network coding encoded packets. Numerous other aspects are provided.

CROSS-REFERENCE TO RELATED APPLICATION

This Patent application claims priority to U.S. Provisional Patent Application No. 63/042,906, filed on Jun. 23, 2020, entitled “FEEDBACK-BASED BROADCAST NETWORK CODED PACKET TRANSMISSION,” and assigned to the assignee hereof. The disclosure of the prior Application is considered part of and is incorporated by reference into this Patent Application.

FIELD OF THE DISCLOSURE

Aspects of the present disclosure generally relate to wireless communication, and specifically to techniques and apparatuses for feedback-based broadcast of network coding encoded packets.

BACKGROUND

Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. Typical wireless communication systems may employ multiple-access technologies capable of supporting communication with multiple users by sharing available system resources (for example, bandwidth or transmit power). Examples of such multiple-access technologies include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency-division multiple access (FDMA) systems, orthogonal frequency-division multiple access (OFDMA) systems, single-carrier frequency-division multiple access (SC-FDMA) systems, time division synchronous code division multiple access (TD-SCDMA) systems, and Long Term Evolution (LTE). LTE/LTE-Advanced is a set of enhancements to the Universal Mobile Telecommunications System (UMTS) mobile standard promulgated by the Third Generation Partnership Project (3GPP).

The above multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different user equipments (UEs) to communicate on a municipal, national, regional, and even global level. New Radio (NR), which may also be referred to as 5G, is a set of enhancements to the LTE mobile standard promulgated by the 3GPP. NR is designed to better support mobile broadband Internet access by improving spectral efficiency, lowering costs, improving services, making use of new spectrum, and better integrating with other open standards using orthogonal frequency division multiplexing (OFDM) with a cyclic prefix (CP) (CP-OFDM) on the downlink (DL), using CP-OFDM or SC-FDMA (for example, also known as discrete Fourier transform spread OFDM (DFT-s-OFDM)) on the uplink (UL), as well as supporting beamforming, multiple-input multiple-output (MIMO) antenna technology, and carrier aggregation. However, as the demand for mobile broadband access continues to increase, there exists a need for further improvements in LTE and NR technologies. Preferably, these improvements are applicable to other multiple access technologies and the telecommunication standards that employ these technologies.

A transmitter (such as a base station or a UE) may need to transmit the same group of source packets to multiple receivers (including one or more UEs or one or more base stations). In some deployments, the transmitter may be configured to transmit the group of source packets to the multiple receivers via broadcast transmission(s) that use a network coding technique. In accordance with a conventional network coding technique, the transmitter generates a first set of network coding encoded packets from the group of source packets and broadcasts the set of network coding encoded packets for reception by the multiple receivers. The transmitter then generates a second set of network coding encoded packets from the same group of source packets and broadcasts the second set of network coding encoded packets for reception by the multiple receivers. In accordance with the conventional network coding technique used in the broadcast scenario, feedback information associated with the first set of network coding encoded packets is not provided by any of the multiple receivers. Therefore, the transmitter does not rely on feedback information when generating or broadcasting the second set of network coding encoded packets (for example, because the transmitter is unaware of a source packet recovery/decoding status at a given receiver). The transmitter may repeat this process (for example, for a particular amount of time or for a particular quantity of iterations) to improve the likelihood that all of the receivers successfully recover all of the source packets. However, the lack of feedback information utilization may result in wasted network resources, wasted resources (for example, power resources or processing resources) at the transmitter or the multiple receivers, a reduction in overall network efficiency, and a duplication of source packets at a given receiver, among other examples.

SUMMARY

In some aspects, a method of wireless communication, performed by a transmitter, may include generating a plurality of source packets. The method may further include performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. The method may further include broadcasting the first set of network coding encoded packets for reception by a plurality of receivers. The method may further include receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The method may further include broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.

In some aspects, a method of wireless communication, performed by a receiver, may include receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets. The method may further include transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a channel state information (CSI) report to be used in association with selecting a modulation and coding scheme (MCS) or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.

In some aspects, a transmitter for wireless communication may include at least one processor and at least one memory communicatively coupled with the at least one processor. The at least one memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to generate a plurality of source packets. The memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. The memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to broadcast the first set of network coding encoded packets for reception by a plurality of receivers. The memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets, that were received by at least one of the plurality of receivers.

In some aspects, a receiver for wireless communication may include at least one processor and at least one memory communicatively coupled with the at least one processor. The at least one memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the receiver to receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets. The memory may store processor-readable code that, when executed by the at least one processor, is configured to cause the receiver to transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.

In some aspects, a non-transitory computer-readable medium may store one or more instructions for wireless communication. The one or more instructions, when executed by one or more processors of a transmitter, may cause the one or more processors to generate a plurality of source packets. The one or more instructions may further cause the one or more processors to perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. The one or more instructions may further cause the one or more processors to broadcast the first set of network coding encoded packets for reception by a plurality of receivers. The one or more instructions may further cause the one or more processors to receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The one or more instructions may further cause the one or more processors to broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets from the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.

In some aspects, a non-transitory computer-readable medium may store one or more instructions for wireless communication. The one or more instructions, when executed by one or more processors of a receiver, may cause the one or more processors to receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets. The one or more instructions may further cause the one or more processors to and transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.

In some aspects, an apparatus for wireless communication may include means for generating a plurality of source packets. The apparatus may further include means for performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. The apparatus may further include means for broadcasting the first set of network coding encoded packets for reception by a plurality of receivers. The apparatus may further include means for receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The apparatus may further include means for broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.

In some aspects, an apparatus for wireless communication may include means for receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the apparatus, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets. The apparatus may further include means for transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.

Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user equipment, base station, wireless communication device, or processing system as substantially described with reference to and as illustrated by the drawings and specification.

The foregoing has outlined rather broadly the features and technical advantages of examples in accordance with the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only some typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.

FIG. 1 is a diagram illustrating an example of a wireless network in accordance with the present disclosure.

FIG. 2 is a diagram illustrating an example base station (BS) in communication with a user equipment (UE) in a wireless network in accordance with the present disclosure.

FIGS. 3A and 3B are diagrams illustrating an example associated with feedback-based broadcast of network coding encoded packets in accordance with the present disclosure.

FIG. 4 is a flowchart illustrating an example process associated with performing feedback-based network coding broadcast transmission performed, for example, by a transmitter in accordance with the present disclosure.

FIG. 5 is a flowchart illustrating an example process associated with providing feedback information associated with a set of network coding encoded packets including a channel state information report performed, for example, by a receiver in accordance with the present disclosure.

FIGS. 6 and 7 are block diagrams of example apparatuses for wireless communication in accordance with the present disclosure.

DETAILED DESCRIPTION

Various aspects of the disclosure are described more fully hereinafter with reference to the accompanying drawings. This disclosure may, however, be embodied in many different forms and are not to be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art may appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any quantity of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. Any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

Several aspects of telecommunication systems will now be presented with reference to various apparatuses and techniques. These apparatuses and techniques will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, components, circuits, steps, processes, or algorithms (collectively referred to as “elements”). These elements may be implemented using hardware, software, or a combination of hardware and software. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.

Various aspects relate generally to network coding encoded packet transmission. Some aspects more specifically relate to feedback-based broadcast of network coding encoded packets. In some aspects, the techniques described herein enable a transmitter to select network coding encoded packets to be transmitted by the transmitter in accordance with feedback information provided by one or more receivers in a broadcast scenario. In some aspects, the transmitter may broadcast a first set of network coding encoded packets for reception by a group of receivers, the first set of network coding encoded packets being generated based on a group of source packets to be received by each of the group of receivers. In some aspects, the transmitter may receive, from the group of receivers, feedback information associated with the first set of network coding encoded packets. In some aspects, the transmitter may determine, based at least in part on the feedback information, that one or more receivers have not successfully recovered all of the plurality of source packets. In some aspects, the transmitter may identify a set of received network coding encoded packets based at least in part on the feedback information. In some aspects, the transmitter may broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the determination that one or more receivers have not successfully recovered all of the plurality of source packets. In some aspects, the second set of network coding encoded packets does not include any received network coding encoded packets from the identified set of received network coding encoded packets.

Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, the described techniques can be used to provide feedback-based broadcast network coded packet transmissions. Such aspects for feedback-based broadcast network coded packet transmission may reduce network resources needed for network coded packet transmission in a broadcast scenario, reduce consumption of resources (for example, power resources or processing resources) at the transmitter or the multiple receivers needed for network coded packet transmission in a broadcast scenario, improve overall network efficiency, or prevent duplication of source packets at a given receiver for a network coded packet transmission in a broadcast scenario, among other examples.

FIG. 1 is a diagram illustrating an example of a wireless network in accordance with the present disclosure. The wireless network may be or may include elements of a 5G (NR) network or an LTE network, among other examples. The wireless network may include one or more base stations 110 (shown as BS 110 a, BS 110 b, BS 110 c, and BS 110 d) and other network entities. A base station (BS) is an entity that communicates with user equipment (UEs) and may also be referred to as an NR BS, a Node B, a gNB, a 5G node B (NB), an access point, or a transmit receive point (TRP), among other examples. Each BS may provide communication coverage for a particular geographic area. In 3GPP, the term “cell” can refer to a coverage area of a BS or a BS subsystem serving this coverage area, depending on the context in which the term is used.

A BS may provide communication coverage for a macro cell, a pico cell, a femto cell, or another type of cell. A macro cell may cover a relatively large geographic area (for example, several kilometers in radius) and may allow unrestricted access by UEs with service subscription. A pico cell may cover a relatively small geographic area and may allow unrestricted access by UEs with service subscription. A femto cell may cover a relatively small geographic area (for example, a home) and may allow restricted access by UEs having association with the femto cell (for example, UEs in a closed subscriber group (CSG)). ABS for a macro cell may be referred to as a macro BS. A BS for a pico cell may be referred to as a pico BS. ABS for a femto cell may be referred to as a femto BS or a home BS. ABS may support one or multiple (for example, three) cells.

The wireless network may be a heterogeneous network that includes BSs of different types, such as macro BSs, pico BSs, femto BSs, or relay BSs. These different types of BSs may have different transmit power levels, different coverage areas, and different impacts on interference in the wireless network. For example, macro BSs may have a high transmit power level (for example, 5 to 40 watts) whereas pico BSs, femto BSs, and relay BSs may have lower transmit power levels (for example, 0.1 to 2 watts). In the example shown in FIG. 1, a BS 110 a may be a macro BS for a macro cell 102 a, a BS 110 b may be a pico BS for a pico cell 102 b, and a BS 110 c may be a femto BS for a femto cell 102 c. A network controller 130 may couple to the set of BSs 102 a, 102 b, 110 a and 110 b, and may provide coordination and control for these BSs. Network controller 130 may communicate with the BSs via a backhaul. The BSs may also communicate with one another, for example, directly or indirectly via a wireless or wireline backhaul.

In some aspects, a cell may not be stationary, rather, the geographic area of the cell may move in accordance with the location of a mobile BS. In some aspects, the BSs may be interconnected to one another or to one or more other BSs or network nodes (not shown) in the wireless network through various types of backhaul interfaces, such as a direct physical connection or a virtual network, using any suitable transport network.

The wireless network may also include relay stations. A relay station is an entity that can receive a transmission of data from an upstream station (for example, a BS or a UE) and send a transmission of the data to a downstream station (for example, a UE or a BS). A relay station may also be a UE that can relay transmissions for other UEs. In the example shown in FIG. 1, a relay BS 110 d may communicate with macro BS 110 a and a UE 120 d in order to facilitate communication between BS 110 a and UE 120 d. A relay BS may also be referred to as a relay station, a relay base station, or a relay, among other examples.

UEs 120 (for example, 120a, 120b, 120c) may be dispersed throughout the wireless network, and each UE may be stationary or mobile. A UE may also be referred to as an access terminal, a terminal, a mobile station, a subscriber unit, or a station, among other examples. A UE may be a cellular phone (for example, a smart phone), a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet, a camera, a gaming device, a netbook, a smartbook, an ultrabook, a medical device or equipment, biometric sensors/devices, wearable devices (smart watches, smart clothing, smart glasses, smart wrist bands, smart jewelry (for example, smart ring, smart bracelet)), an entertainment device (for example, a music or video device, or a satellite radio), a vehicular component or sensor, smart meters/sensors, industrial manufacturing equipment, a global positioning system device, or any other suitable device that is configured to communicate via a wireless medium.

Some UEs may be considered machine-type communication (MTC) or evolved or enhanced machine-type communication (eMTC) UEs. MTC and eMTC UEs include, for example, robots, drones, remote devices, sensors, meters, monitors or location tags, among other examples, that may communicate with a base station, another device (for example, remote device), or some other entity. A wireless node may provide, for example, connectivity for or to a network (for example, a wide area network such as Internet or a cellular network) via a wired or wireless communication link. Some UEs may be considered Internet-of-Things (IoT) devices, or may be implemented as NB-IoT (narrowband internet of things) devices. Some UEs may be considered a Customer Premises Equipment (CPE). UE 120 may be included inside a housing that houses components of UE 120, such as processor components or memory components, among other examples.

In general, any quantity of wireless networks may be deployed in a given geographic area. Each wireless network may support a particular radio access technology (RAT) and may operate on one or more frequencies or frequency channels. A frequency may also be referred to as a carrier among other examples. Each frequency may support a single RAT in a given geographic area in order to avoid interference between wireless networks of different RATs. In some cases, NR or 5G RAT networks may be deployed.

In some aspects, two or more UEs 120 (for example, shown as UE 120 a and UE 120 e) may communicate directly with one another using one or more sidelink channels (for example, without using a base station 110 as an intermediary). For example, the UEs 120 may communicate using peer-to-peer (P2P) communications, device-to-device (D2D) communications, a vehicle-to-everything (V2X) protocol (for example, which may include a vehicle-to-vehicle (V2V) protocol or a vehicle-to-infrastructure (V2I) protocol), a mesh network, or a combination thereof. In such examples, the UE 120 may perform scheduling operations, resource selection operations, or other operations described elsewhere herein as being performed by the base station 110.

Devices of the wireless network may communicate using the electromagnetic spectrum, which may be subdivided based on frequency or wavelength into various classes, bands, or channels. For example, devices of the wireless network may communicate using an operating band having a first frequency range (FR1), which may span from 410 MHz to 7.125 GHz. As another example, devices of the wireless network may communicate using an operating band having a second frequency range (FR2), which may span from 24.25 GHz to 52.6 GHz. The frequencies between FR1 and FR2 are sometimes referred to as mid-band frequencies. Although a portion of FR1 is greater than 6 GHz, FR1 is often referred to as a “sub-6 GHz” band. Similarly, FR2 is often referred to as a “millimeter wave” band despite being different from the extremely high frequency (EHF) band (30 GHz-300 GHz) which is identified by the International Telecommunications Union (ITU) as a “millimeter wave” band. Thus, unless specifically stated otherwise, it should be understood that the term “sub-6 GHz” may broadly represent frequencies less than 6 GHz, frequencies within FR1, mid-band frequencies (for example, greater than 7.125 GHz), or a combination thereof. Similarly, unless specifically stated otherwise, it should be understood that the term “millimeter wave” may broadly represent frequencies within the EHF band, frequencies within FR2, mid-band frequencies (for example, less than 24.25 GHz), or a combination thereof. The frequencies included in FR1 and FR2 may be modified, and techniques described herein are applicable to those modified frequency ranges.

FIG. 2 is a diagram illustrating an example base station in communication with a UE in a wireless network in accordance with the present disclosure. The base station may correspond to base station 110 of FIG. 1. Similarly, the UE may correspond to UE 120 of FIG. 1.

Base station 110 may be equipped with T antennas 234 a through 234 t, and UE 120 may be equipped with R antennas 252 a through 252 r, where in general T≥1 and R≥1. At base station 110, a transmit processor 220 may receive data from a data source 212 for one or more UEs, select one or more modulation and coding schemes (MCSs) for each UE based at least in part on channel quality indicators (CQIs) received from the UE, process (for example, encode) the data for each UE based at least in part on the MCS(s) selected for the UE, and provide data symbols for all UEs. Transmit processor 220 may also process system information (for example, for semi-static resource partitioning information (SRPI) among other examples) and control information (for example, CQI requests, grants, or upper layer signaling) and provide overhead symbols and control symbols. Transmit processor 220 may also generate reference symbols for reference signals and synchronization signals. A transmit (TX) multiple-input multiple-output (MIMO) processor 230 may perform spatial processing (for example, precoding) on the data symbols, the control symbols, the overhead symbols, or the reference symbols, if applicable, and may provide T output symbol streams to T modulators (MODs) 232 a through 232 t. Each MOD 232 may process a respective output symbol stream (for example, for OFDM among other examples) to obtain an output sample stream. Each MOD 232 may further process (for example, convert to analog, amplify, filter, and upconvert) the output sample stream to obtain a downlink signal. T downlink signals from MODs 232 a through 232 t may be transmitted via T antennas 234 a through 234 t, respectively.

At UE 120, antennas 252 a through 252 r may receive the downlink signals from base station 110 or other base stations and may provide received signals to R demodulators (DEMODs) 254 a through 254 r, respectively. Each DEMOD 254 may condition (for example, filter, amplify, downconvert, and digitize) a received signal to obtain input samples. Each DEMOD 254 may further process the input samples (for example, for OFDM) to obtain received symbols. A MIMO detector 256 may obtain received symbols from all R DEMODs 254 a through 254 r, perform MIMO detection on the received symbols if applicable, and provide detected symbols. A receive processor 258 may process (for example, decode) the detected symbols, provide decoded data for UE 120 to a data sink 260, and provide decoded control information and system information to a controller/processor 280. The term “controller/processor” may refer to one or more controllers, one or more processors, or a combination of one or more controllers and one or more processors. A channel processor may determine one or more of a reference signal received power (RSRP) parameter, a received signal strength indicator (RSSI) parameter, a reference signal received quality (RSRQ) parameter, or a CQI parameter, among other examples. In some aspects, one or more components of UE 120 may be included in a housing.

Network controller 130 may include communication unit 294, controller/processor 290, and memory 292. Network controller 130 may include, for example, one or more devices in a core network. Network controller 130 may communicate with base station 110 via communication unit 294.

Antennas (such as antennas 234 a through 234 t or antennas 252 a through 252 r) may include, or may be included within, one or more antenna panels, antenna groups, sets of antenna elements, or antenna arrays, among other examples. An antenna panel, an antenna group, a set of antenna elements, or an antenna array may include one or more antenna elements. An antenna panel, an antenna group, a set of antenna elements, or an antenna array may include a set of coplanar antenna elements or a set of non-coplanar antenna elements. An antenna panel, an antenna group, a set of antenna elements, or an antenna array may include antenna elements within a single housing or antenna elements within multiple housings. An antenna panel, an antenna group, a set of antenna elements, or an antenna array may include one or more antenna elements coupled to one or more transmission or reception components, such as one or more components of FIG. 2.

On the uplink, at UE 120, a transmit processor 264 may receive and process data from a data source 262 as well as control information (for example, for reports including RSRP, RSSI, RSRQ, or CQI) from controller/processor 280. Transmit processor 264 may also generate reference symbols for one or more reference signals. The symbols from transmit processor 264 may be precoded by a TX MIMO processor 266 if applicable, further processed by MODs 254 a through 254 r (for example, for discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-s-OFDM) or orthogonal frequency division multiplexing (OFDM) with a cyclic prefix (CP) (CP-OFDM)), and transmitted to base station 110. In some aspects, a modulator and a demodulator (for example, MOD/DEMOD 254) of the UE 120 may be included in a modem of the UE 120. In some aspects, the UE 120 includes a transceiver. The transceiver may include any combination of antenna(s) 252, modulators 254, demodulators 254, MIMO detector 256, receive processor 258, transmit processor 264, or TX MIMO processor 266. The transceiver may be used by a processor (for example, controller/processor 280) and memory 282 to perform aspects of any of the methods described herein.

At base station 110, the uplink signals from UE 120 and other UEs may be received by antennas 234, processed by DEMODs 232, detected by a MIMO detector 236 if applicable, and further processed by a receive processor 238 to obtain decoded data and control information sent by UE 120. Receive processor 238 may provide the decoded data to a data sink 239 and the decoded control information to controller/processor 240. Base station 110 may include communication unit 244 and communicate to network controller 130 via communication unit 244. Base station 110 may include a scheduler 246 to schedule UEs 120 for downlink and uplink communications. In some aspects, a modulator and a demodulator (for example, MOD/DEMOD 232) of the base station 110 may be included in a modem of the base station 110. In some aspects, the base station 110 includes a transceiver. The transceiver may include any combination of antenna(s) 234, modulators 232, demodulators 232, MIMO detector 236, receive processor 238, transmit processor 220, or TX MIMO processor 230. The transceiver may be used by a processor (for example, controller/processor 240) and memory 242 to perform aspects of any of the methods described herein.

Controller/processor 240 of base station 110, controller/processor 280 of UE 120, or any other component(s) of FIG. 2 may perform one or more techniques associated with feedback-based broadcast of network coding encoded packets, as described in more detail elsewhere herein. For example, controller/processor 240 of base station 110, controller/processor 280 of UE 120, or any other component(s) of FIG. 2 may perform or direct operations of, for example, process 400 of FIG. 4, process 500 of FIG. 5, or other processes as described herein. Memories 242 and 282 may store data and program codes for base station 110 and UE 120, respectively. In some aspects, memory 242 or memory 282 may include a non-transitory computer-readable medium storing one or more instructions (for example, code or program code) for wireless communication. For example, the one or more instructions, when executed (for example, directly, or after compiling, converting, or interpreting) by one or more processors of the base station 110 or the UE 120, may cause the one or more processors, the UE 120, or the base station 110 to perform or direct operations of, for example, process 400 of FIG. 4, process 500 of FIG. 5, or other processes as described herein. In some aspects, executing instructions may include running the instructions, converting the instructions, compiling the instructions, or interpreting the instructions, among other examples.

In some aspects, a transmitter (such as a UE 120 or a base station 110) may include means for generating a plurality of source packets; means for performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets; means for broadcasting the first set of network coding encoded packets for reception by a plurality of receivers; means for receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets; or means for broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets from the first subset of network coding encoded packets that were received by at least one of the plurality of receivers; among other examples, or combinations thereof. In some aspects, when the transmitter is a UE 120, such means may include one or more components of UE 120 described in connection with FIG. 2, such as controller/processor 280, transmit processor 264, TX MIMO processor 266, MOD 254, antenna 252, DEMOD 254, MIMO detector 256, or receive processor 258. In some aspects, when the transmitter is a base station 110, such means may include one or more components of base station 110 described in connection with FIG. 2, such as antenna 234, DEMOD 232, MIMO detector 236, receive processor 238, controller/processor 240, transmit processor 220, TX MIMO processor 230, MOD 232, or antenna 234, among other examples.

In some aspects, a receiver (such as a UE 120 or a base station 110) may include means for receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets; or means for transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a channel state information (CSI) report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets; among other examples, or combinations thereof. In some aspects, when the receiver is a UE 120, such means may include one or more components of UE 120 described in connection with FIG. 2, such as controller/processor 280, transmit processor 264, TX MIMO processor 266, MOD 254, antenna 252, DEMOD 254, MIMO detector 256, or receive processor 258. In some aspects, when the receiver is a base station 110, such means may include one or more components of base station 110 described in connection with FIG. 2, such as antenna 234, DEMOD 232, MIMO detector 236, receive processor 238, controller/processor 240, transmit processor 220, TX MIMO processor 230, MOD 232, or antenna 234, among other examples.

A transmitter (such as a base station 110 or a UE 120) may need to transmit the same group of source packets to multiple receivers (including one or more UEs 120 or one or more base stations 110). In some deployments, the transmitter may be configured to transmit the group of packets to the multiple receivers via broadcast transmission(s) that use a network coding technique.

In accordance with a conventional network coding technique, the transmitter generates a first set of network coding encoded packets from the group of source packets and broadcasts the set of network coding encoded packets for reception by the multiple receivers. The transmitter then generates a second set of network coding encoded packets from the same group of source packets and broadcasts the second set of network coding encoded packets for reception by the multiple receivers. In accordance with the conventional network coding technique used in the broadcast scenario, feedback information associated with the first set of network coding encoded packets is not provided by any of the multiple receivers and, therefore, the transmitter does not rely on feedback information when generating or broadcasting the second set of network coding encoded packets (for example, because the transmitter is unaware of a source packet recovery/decoding status at a given receiver). The transmitter may repeat this process (for example, for a particular amount of time or for a particular quantity of iterations) to improve the likelihood that all of the receivers successfully recover all of the source packets. This lack of feedback information utilization can result in wasted network resources, wasted resources (for example, power resources or processing resources) at the transmitter or the multiple receivers, a reduction in overall network efficiency, and a duplication of source packets at a given receiver, among other examples.

Various aspects relate generally to network coding encoded packet transmission. Some aspects more specifically relate to feedback-based broadcast of network coding encoded packets. In some aspects, the techniques described herein enable a transmitter to select network coding encoded packets to be transmitted by the transmitter in accordance with feedback information provided by one or more receivers in a broadcast scenario. In some aspects, the transmitter may broadcast a first set of network coding encoded packets for reception by a group of receivers, where the first set of network coding encoded packets is generated based on a group of source packets to be received by each of the group of receivers. In some aspects, the transmitter may receive, from the group of receivers, feedback information associated with the first set of network coding encoded packets. In some aspects, the transmitter may determine, based at least in part on the feedback information, that one or more receivers have not successfully recovered all of the plurality of source packets. In some aspects, the transmitter may identify a set of received network coding encoded packets based at least in part on the feedback information. In some aspects, the transmitter may broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on this determination. In some aspects, the second set of network coding encoded packets does not include any received network coding encoded packets from the identified set of received network coding encoded packets.

Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, the described techniques can be used to provide feedback-based broadcast network coded packet transmissions. Such aspects for feedback-based broadcast network coded packet transmission described herein may reduce network resources needed for network coded packet transmission in a broadcast scenario. Further, some aspects for feedback-based broadcast network coded packet transmission described herein may reduce consumption of resources (for example, power resources or processing resources) at the transmitter or the multiple receivers needed for network coded packet transmission in a broadcast scenario. Additionally, some other aspects for feedback-based broadcast network coded packet transmission described herein improve overall network efficiency and may prevent duplication of source packets at a given receiver for a network coded packet transmission in a broadcast scenario.

FIGS. 3A and 3B are timing diagrams illustrating an example associated with feedback-based broadcast of network coding encoded packets in accordance with the present disclosure. As shown in FIGS. 3A and 3B, a transmitter (Tx) 302 and a group of receivers (Rx) 304 a through 304 c. While three receivers 304 are shown, the group of receivers may include any quantity of receivers. In some aspects, the transmitter 302 may be included in a base station (for example, a base station 110) or a UE (for example, a UE 120). In some aspects, a given receiver 304 may be included in a UE (such as a UE 120) or a base station (such as a base station 110).

As shown in FIG. 3A, in a first operation 350, the transmitter 302 may generate a group of source packets (S). The group of source packets includes multiple packets (p1 through pn (n>1)) that are to be broadcast by the transmitter 302 for reception by each receiver 304 in the group of receivers 304.

In a second operation 352, the transmitter 302 may perform a first encoding operation on the plurality of source packets to generate a first set of network coding encoded packets (Q1, which may include network coding encoded packets q1 through qm (m>1)). That is, the transmitter 302 may apply a network coding encoding function (identified as the function ƒ) to the group of source packets, a result of which is the first set of network coding encoded packets. In some aspects, the first encoding operation may utilize a Luby transform (LT) code. In such examples, generating an encoded symbol may include, for example, (1) determining a degree d of the encoded symbol by randomly choosing the degree d from a given node degree distribution p(x), (2) randomly choosing d distinct information symbols from a pool of symbols to be encoded (these d information symbols will be elements of the encoded symbol), and (3) assigning the exclusive-or (XOR) of the chosen d information symbols to the encoding symbol.

In a third operation 354, the transmitter 302 may broadcast the first set of network coding encoded packets for reception by the group of receivers 304. In some aspects, the transmitter 302 may broadcast the first set of network coding encoded packets on a broadcast channel (BCH). In some aspects, the transmitter 302 may transmit the first set of network coding encoded packets using a conventional BCH format (for example, a legacy BCH format).

In a fourth operation 356 a, a fifth operation 356 b, and a sixth operation 356 c, the transmitter 302 may receive feedback information, associated with the first set of network coding encoded packets, from the receiver 304 a, the receiver 304 b, and the receiver 304 c, respectively. In some aspects, the feedback information may be communicated in a synchronized manner. For example, each receiver 304 may be configured to transmit feedback information simultaneously at predefined time instances (t0, t0+tk, t0+2tk, and so on). In some aspects, the feedback information may be received via uplink control information (UCI) in a physical uplink control channel (PUCCH) or via UCI multiplexed with a physical uplink shared channel (PUSCH). In some aspects, a given receiver 304 may transmit the feedback information via, for example, a packet data convergence protocol (PDCP) status report, a radio link control (RLC) status report, a medium access control (MAC) hybrid automatic repeat request (HARD) acknowledgment, among other examples.

In some aspects, the feedback information from a given receiver 304 may identify or otherwise indicate each of (or a set of) the network coding encoded packets, from the first set of network coding encoded packets, received by the receiver 304. For example, as indicated with reference to operation 356 a, the feedback information received from the receiver 304 a may indicate that the receiver 304 a has received network coding encoded packets q1, q3, and q5. As another example, as indicated with reference to operation 356 b, the feedback information received from the receiver 304 b may indicate that the receiver 304 b has received network coding encoded packets q2 and q3. As another example, as indicated with reference to operation 356 c, the feedback information received from the receiver 304 c may indicate that the receiver 304 b has received network coding encoded packets q1 and q3.

Additionally or alternatively, the feedback information may identify one or more source packets, from the group of source packets, that were successfully decoded by a given receiver 304. For example, the feedback information received from the receiver 304 a may indicate that the receiver 304 a has successfully recovered source packets p2, and p3. As another example, the feedback information received from the receiver 304 b may indicate that the receiver 304 b has successfully recovered source packets p1, p3, and p4. As another example, the feedback information received from the receiver 304 c may indicate that the receiver 304 b has successfully recovered source packet p2.

In some aspects, one or more (or all) of the receivers 304 may generate or obtain CSI based on the reception of the network coding encoded packets and include, in or with their respective feedback information, a respective CSI report. For example, a given receiver 304 may receive one or more network coding encoded packets in the first set of network coding encoded packets and may fail to receive one or more others. The given receiver 304 may transmit feedback information based on the reception (or lack of reception) of the network coding encoded packets as well as transmit, in or with the feedback information, a CSI report. In some aspects, a given receiver 304 may obtain the CSI (such as a signal-to-interference-plus-noise ratio (SINR), an RSRP, among other examples) based at least in part on measuring a reference signal, such as a demodulation reference signal (DMRS). In some aspects, the CSI may be used by the transmitter 302 in association with selecting an MCS or a coding rate to be used when performing a second encoding operation on the group of source packets or another group of source packets to generate a second set of network coding encoded packets, as described below. In some examples, a given receiver 304 may include a CSI report in the feedback information only when the feedback information includes a negative acknowledgment (NACK) associated with at least one network coding encoded packet of the first set of network coding encoded packets.

As shown in FIG. 3B, in a seventh operation 358, the transmitter 302 may determine, based at least in part on the feedback information, that one or more of the group of receivers 304 have not successfully recovered all of the source packets. For example, in some aspects, the feedback information from each of the receivers 304 may identify one or more network coding encoded packets from the first set of network coding encoded packets that were received by the respective receiver 304, as described above. In such examples, for a given receiver 304, the transmitter 302 may identify a set of received network coding encoded packets based at least in part on the feedback information. That is, the transmitter 302 may identify a set of network coding encoded packets indicated as having been received by the given receiver 304. In some examples, the transmitter 302 may then decode the network coding encoded packets in the set of received network coding encoded packets. As a result, the transmitter 302 may be enabled to identify a set of source packets successfully recovered by the given receiver 304. That is, the transmitter 302 may perform a network coding decoding operation to decode the set of received network coding encoded packets and, based on a result, may infer the source packets that have been successfully decoded by the given receiver 304. The transmitter 302 may then compare the group of source packets and the set of source packets identified as being successfully recovered by the given receiver 304 to determine whether the given receiver 304 has successfully recovered all of the source packets. Here, if the group of source packets does not match the set of source packets identified as being successfully recovered by the given receiver 304 (that is, if the group of source packets includes at least one packet that is not included in the set of source packets identified as being successfully recovered by the given receiver 304), then the transmitter 302 may determine that the given receiver 304 has not successfully recovered at least one of the source packets. Conversely, if the group of source packets matches the set of source packets identified as being successfully recovered by the given receiver 304, then the transmitter 302 may determine that the given receiver 304 has successfully recovered all of the source packets. The transmitter 302 may perform this process for each receiver 304 to determine whether one or more receivers 304 have not successfully recovered all of the source packets.

In some examples, the transmitter 302 may store, for each of the receivers 304, an indication of each of the network coding encoded packets received by the respective receiver 304. The transmitter 302 may update the stored information after each broadcast transmission or at another suitable interval such that the transmitter 302 maintains, for each of the receivers 304, a running list of the network coding encoded packets received by the respective receiver 304. In some examples, the transmitter 302 can use the stored indication of the one or more received network coding encoded packets and additional feedback information (for example feedback information associated with a later broadcast transmission) to determine whether the given receiver 304 has successfully recovered all of the source packets. In some other examples, the transmitter 302 may store and maintain a single group-based list that indicates the network coding encoded packets that have been received by at least one of the receivers 304.

Additionally or alternatively, in some aspects, the feedback information may identify one or more source packets from the group of source packets that were successfully recovered by a given receiver 304, as described above. In such examples, for a given receiver 304, the transmitter 302 may compare the group of source packets and the one or more source packets identified as being successfully recovered by the given receiver 304 to determine whether the given receiver 304 has successfully recovered all of the source packets. Here, if the group of source packets does not match the set of source packets identified as being successfully recovered by the given receiver 304 (that is, if the group of source packets includes at least one packet that is not included in the set of source packets identified as being successfully recovered by the given receiver 304), then the transmitter 302 may determine that the given receiver 304 has not successfully recovered at least one of the source packets. Conversely, if the group of source packets matches the set of source packets identified as being successfully recovered by the given receiver 304, then the transmitter 302 may determine that the given receiver 304 has successfully recovered all of the source packets. The transmitter 302 may perform this process for each receiver 304 to determine whether one or more receivers 304 have not successfully recovered all of the source packets.

In some aspects, the transmitter 302 may store an indication of the one or more successfully recovered source packets associated with the given receiver 304, and may update this indication in a later iteration. For example, the transmitter 302 may maintain a list of source packets successfully recovered by the given receiver 304. Here, in a later iteration, the transmitter 302 can use the stored indication of the one or more successfully recovered source packets and additional feedback information to determine whether the given receiver 304 has successfully recovered all of the source packets.

As noted above, the transmitter 302 may (for example, in a manner described above) determine that one or more receivers 304 have not successfully recovered all of the source packets (in other words, that at least one receiver 304 has not successfully recovered all of the source packets). In an eighth operation 360, the transmitter 302 may identify a set of received network coding encoded packets (M) associated with the group of receivers. In some aspects, the transmitter 302 may identify the set of received network coding encoded packets based at least in part on the feedback information. The set of received network coding encoded packets may be a first subset of the of network coding encoded packets of the first set of network coding encoded packets (that were transmitted by the transmitter 302) that were received by at least one (or all) of the group of receivers.

In some aspects, the transmitter 302 may identify the set of received network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information by identifying received network coding encoded packets of the first set of network coding encoded packets that were received by all of the plurality of receivers, where the identified set of received network coding encoded packets includes only network coding encoded packets that were received by all of the plurality of receivers. Put another way, in some aspects, the set of received network coding encoded packets may include one or more network coding encoded packets, of the first set of network coding encoded packets, received by all of the receivers 304. That is, the set of received network coding encoded packets may include an intersection of network coding encoded packets indicated as being received by the receivers 304. As an example, the feedback information may indicate that the receiver 304 a has received network coding encoded packets q1, q3, and q5; that receiver 304 b has received network coding encoded packets q2 and q3; and that the receiver 304 c has received network coding encoded packets gland q3. In such examples, the transmitter 302 identifies the set of received network coding encoded packets as including network coding encoded packet q3 only (because network coding encoded packet q3 was indicated as being received by each receiver 304).

In some aspects, the transmitter 302 may identify the set of received network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information by identifying received network coding encoded packets of the first set of network coding encoded packets that were received by at least one receiver of the plurality of receivers, wherein the identified set of received network coding encoded packets includes only network coding encoded packets that were received by at least one receiver of the plurality of receivers. Put another way, in some aspects, the set of received network coding encoded packets may include one or more network coding encoded packets, of the first set of network coding encoded packets, received by at least one of the receivers 304. That is, the set of received network coding encoded packets may include a union of network coding encoded packets indicated as being received by the receivers 304. As an example, the feedback information may indicate that the receiver 304 a has received network coding encoded packets q1, q3, and q5; that receiver 304 b has received network coding encoded packets q2 and q3; and that the receiver 304 c has received network coding encoded packets q1 and q3. In such examples, the transmitter 302 identifies the set of received network coding encoded packets as including network coding encoded packets q1, q2, q3, and q5 (because network coding encoded packets q1, q2, q3, and q5 were each indicated as being received by at least one receiver 304).

In a ninth operation 362, the transmitter 302 may obtain a second set of network coding encoded packets (Q2). In a tenth operation 364, the transmitter 302 may broadcast the second set of network coding encoded packets for reception by at least the one or more receivers 304. In some aspects, the transmitter 302 may obtain or broadcast the second set of network coding encoded packets based on the determination that the one or more receivers 304 have not successfully recovered all of the source packets.

In some aspects, the second set of network coding encoded packets does not include any received network coding encoded packets from the identified set of received network coding encoded packets. That is, any network coding encoded packets of the first set of network coding encoded packets that were included in the set of received network coding encoded packets may be excluded from the second set of network coding encoded packets. In some aspects, the transmitter 302 may compare a possible second set of network coding encoded packets and the set of received network coding encoded packets to identify any network coding encoded packets included in both sets and, if any network coding encoded packets are included in both sets, the transmitter 302 may remove the network coding encoded packets from the possible second set of network coding encoded packets to obtain the second set of network coding encoded packets.

In some aspects, the transmitter 302 may generate one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the group of source packets. That is, the transmitter 302 may apply the network coding encoding function (ƒ) to the group of source packets, a result of which is the second set of network coding encoded packets. In some aspects, based on feedback information from at least one of the receivers 304 including a CSI report, the transmitter 302 may select an MCS or a coding rate associated with generating the second set of network coding encoded packets based at least in part on the CSI report.

In some aspects, the second set of network coding encoded packets includes at least one network coding encoded packet from the first set of network coding encoded packets and one or more additional network coding encoded packets (for example, one or more network coding encoded packets generated by performing the second encoding operation on the group of source packets). Here, the at least one network coding encoded packet from the first set of network coding encoded packets may not be indicated in the feedback information as being received by at least one of the receivers 304.

In some aspects, the second set of network coding encoded packets may include one or more network coding encoded packets that match one or more network coding encoded packets generated by the first encoding operation on the group source packets. For example, the transmitter 302 may be configured to identify the set of received network coding encoded packets as including only network coding encoded packets indicated as being received by all of the receivers 304, as described above. If, for example, a particular network coding encoded packet was not indicated as being received by all of the receivers 304, then the second set of network coding encoded packets may include a network coding encoded packet that matches the particular network coding encoded packet from the first set of network coding encoded packets. In some aspects, the second set of network coding encoded packets may include one or more network coding encoded packets generated by the first encoding operation on the group of source packets. For example, if not all network coding encoded packets generated at operation 352 could be included in the first set of network coding encoded packets (for example, due to a bandwidth limitation), then the second set of network coding encoded packets may include one or more network coding encoded packets generated at operation 352.

In some aspects, the transmitter 302 may repeat one or more of the above-described operations. For example, the transmitter 302 may repeat one or more of the above-described operations until the transmitter 302 has determined that each receiver 304 has successfully recovered all of the source packets, until a threshold amount of time has passed (for example, because the broadcast of the first set of network coding encoded packets), or until a threshold quantity of iterations have been performed. As a particular example, after broadcasting the second set of network coding encoded packets, the transmitter 302 may receive, from each receiver 304, feedback information associated with the second set of network coding encoded packets. Here, the transmitter 302 may determine, based at least in part on the second feedback information (and in the manner described above), that each of the receivers 304 has successfully recovered all of the source packets. The transmitter 302 may then cease generation and broadcast of network coding encoded packets associated with the current group of source packets.

In some scenarios, the transmitter 302 may add a source packet to the group of source packets after initial generation of the group of source packets (for example, after the broadcast of the first set of network coding encoded packets). In such a scenario, the transmitter 302 may take the added source packet into account when determining whether the receivers 304 have successfully recovered all of the source packets, and may act accordingly (for example, by performing another iteration to ensure that the added source packet is received by the receivers 304).

In some aspects, the transmitter 302 may configure itself and each of the receivers 304 with a same set of network coding parameters. The set of network coding parameters may include one or more parameters used to generate network coding encoded packets or to decode network coding encoded packets. For example, the set of network coding parameters may include a network coding algorithm, an encoding function, an encoding matrix, or a maximum quantity of decoding iterations, among other examples. By configuring itself and each of the receivers 304 with the same set of network coding parameters, the transmitter ensures that an encoding matrix, an encoding function, and a decoding function are synchronized across the transmitter 302 and the receivers 304. To configure the receivers 304, the transmitter 302 may, in some aspects, transmit an indication of the set of network coding parameters to the group of receivers 304 via, for example, via a MAC control element, downlink control information (DCI), or a radio resource control (RRC) configuration.

In some aspects, a single set of network coding parameters may be configured on the transmitter 302 and each of the receivers 304 at a given time. In such a scenario, in some aspects, a receiver 304 may transmit a request for a new set of network coding parameters. For example, the receiver 304 may identify underperforming decoding or recovery at the receiver 304 and may transmit (for example, via a MAC control element or UCI, among other examples) the request for the new set of network coding parameters based at least in part on this identification. Here, the transmitter 302 may receive the request for the new set of network coding parameters and may transmit an indication of a set of network coding parameters to the group of receivers 304 based at least in part on the request from the receiver 304.

In some aspects, the set of network coding parameters may be one of multiple sets of network coding parameters configured on the transmitter 302 and each receiver 304. In such a scenario, in some aspects, a receiver 304 may transmit a request to switch a currently used set of network coding parameters. For example, the receiver 304 may identify underperforming decoding or recovery at the receiver 304 and may transmit (for example, via a MAC control element or UCI, among other examples) the request to switch from the currently used set of network coding parameters to a new set of network coding parameters based at least in part on this identification. Here, the transmitter 302 may receive the request to switch network coding parameters and may transmit an indication to use another of the multiple sets of network coding parameters to the group of receivers 304 based at least in part on the request from the receiver 304.

As indicated above, FIGS. 3A and 3B are provided as an example. Other examples may differ from what is described with respect to FIGS. 3A and 3B.

FIG. 4 is a flowchart illustrating an example process 400 performed, for example, by a transmitter in accordance with the present disclosure. Example process 400 is an example where the transmitter (for example, transmitter 302, which may be included in a base station 110 or a UE 120, among other examples) performs operations associated with feedback-based broadcast network coded packet transmission. As shown in FIG. 4, in some aspects, process 400 may include generating a plurality of source packets (block 410). For example, the transmitter may generate a plurality of source packets, as described above. When the transmitter is included in a base station 110, the transmitter may generate the plurality of source packets using transmit processor 220, receive processor 238, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may generate the plurality of packets using receive processor 258, transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may include performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets (block 420). For example, the transmitter may perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets, as described above. When the transmitter is included in a base station 110, the transmitter may perform the first encoding operation using transmit processor 220, receive processor 238, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may perform the first encoding operation using receive processor 258, transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may include broadcasting the first set of network coding encoded packets for reception by a plurality of receivers (block 430). For example, the transmitter may broadcast the first set of network coding encoded packets for reception by a plurality of receivers, as described above. When the transmitter is included in a base station 110, the transmitter may broadcast the first set of network coding encoded packets using transmit processor 220, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may broadcast the first set of network coding encoded packets using transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may include receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets (block 440). For example, the transmitter may receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets, as described above. When the transmitter is included in a base station 110, the transmitter may receive the feedback information using receive processor 238, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may receive the feedback information using receive processor 258, transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may optionally include determining, based at least in part on the feedback information, that one or more receivers of the plurality of receivers have not successfully recovered all of the plurality of source packets (block 450). For example, the transmitter may determine, based at least in part on the feedback information, that one or more receivers of the plurality of receivers have not successfully recovered all of the plurality of source packets, as described above. When the transmitter is included in a base station 110, the transmitter may determine that the one or more receivers have note successfully recovered all of the plurality of source packets using transmit processor 220, receive processor 238, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may determine that the one or more receivers have note successfully recovered all of the plurality of source packets using receive processor 258, transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may optionally include identifying the first subset of network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information (block 460). For example, the transmitter may identify the first subset of network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information, as described above. When the transmitter is included in a base station 110, the transmitter may identify the set of received network coding encoded packets using transmit processor 220, receive processor 238, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may identify the set of received network coding encoded packets using receive processor 258, transmit processor 264, controller/processor 280, memory 282, or another component.

As further shown in FIG. 4, in some aspects, process 400 may include broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers (block 470). For example, the transmitter may broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers, as described above. When the transmitter is included in a base station 110, the transmitter may broadcast the second set of network coding encoded packets using transmit processor 220, controller/processor 240, memory 242, or another component. When the transmitter is included in a UE 120, the transmitter may the second set of network coding encoded packets using transmit processor 264, controller/processor 280, memory 282, or another component.

Process 400 may include additional aspects, such as any single aspect or any combination of aspects described below or in connection with one or more other processes described elsewhere herein.

In a first aspect, process 400 includes generating one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the plurality of source packets.

In a second additional aspect, alone or in combination with the first aspect, the second set of network coding encoded packets includes at least one network coding encoded packet from the first set of network coding encoded packets and one or more additional network coding encoded packets, wherein the at least one network coding encoded packet from the first set of network coding encoded packets was not indicated in the feedback information as being received by at least one of the plurality of receivers.

In a third additional aspect, alone or in combination with one or more of the first and second aspects, performing the first encoding operation on the plurality of source packets generates one or more network coding encoded packets in the second set of network coding encoded packets.

In a fourth additional aspect, alone or in combination with one or more of the first through third aspects, the feedback information indicates one or more network coding encoded packets, of the first set of network coding encoded packets, received by a receiver of the plurality of receivers.

In a fifth additional aspect, alone or in combination with one or more of the first through fourth aspects, the feedback information indicates a second subset of network coding encoded packets of the of the first set of network coding encoded packets were received by the receiver, and process 400 includes decoding network coding encoded packets in the second subset of received network coding encoded packets associated with the receiver to identify a set of source packets successfully recovered by the receiver, the set of source packets successfully recovered by the receiver not including at least one source packet included in the plurality of source packets indicating that the receiver did not successfully decode the at least one source packet.

In a sixth additional aspect, alone or in combination with one or more of the first through fifth aspects, the feedback information identifies one or more source packets, from the plurality of source packets, that were successfully decoded by a receiver of the plurality of receivers.

In a seventh additional aspect, alone or in combination with one or more of the first through sixth aspects, the one or more source packets do not include at least one source packet included in the plurality of source packets, the feedback information indicating that the at least one source packet was not successfully decoded by the receiver based on the one or more source packets not including the at least one source packet included in the plurality of source packets.

In an eighth additional aspect, alone or in combination with one or more of the first through seventh aspects, the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by each of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by each of the plurality of receivers.

In a ninth additional aspect, alone or in combination with one or more of the first through eighth aspects, the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by at least one receiver of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by at least one receiver of the plurality of receivers.

In a tenth additional aspect, alone or in combination with one or more of the first through ninth aspects, the feedback information is first feedback information, and process 400 further includes receiving second feedback information associated with the second set of network coding encoded packets, the second feedback information indicating that each of the plurality of receivers has successfully recovered all of the plurality of source packets, and ceasing generation of network coding encoded packets associated with the plurality of source packets.

In an eleventh additional aspect, alone or in combination with one or more of the first through tenth aspects, a set of network coding parameters is configured on the transmitter and each receiver of the plurality of receivers, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or decode network coding encoded packets.

In a twelfth additional aspect, alone or in combination with one or more of the first through eleventh aspects, the one or more parameters include at least one of a network coding algorithm, an encoding function, an encoding matrix, or a maximum quantity of decoding iterations.

In a thirteenth additional aspect, alone or in combination with one or more of the first through twelfth aspects, process 400 further includes transmitting an indication of the set of network coding parameters to the plurality of receivers via at least one of a MAC control element, downlink control information, or a radio resource control configuration.

In a fourteenth additional aspect, alone or in combination with one or more of the first through thirteenth aspects, process 400 further includes receiving a request for a new set of network coding parameters from a receiver of the plurality of receivers; and transmitting an indication of the set of network coding parameters to the plurality of receivers based at least in part on the request for a new set of network coding parameters.

In a fifteenth additional aspect, alone or in combination with one or more of the first through fourteenth aspects, the request for the new set of network coding parameters is based at least in part on the receiver identifying underperforming decoding or recovery at the receiver.

In a sixteenth additional aspect, alone or in combination with one or more of the first through fifteenth aspects, the request for the new set of network coding parameters is received via at least one of a MAC control element or uplink control information.

In a seventeenth additional aspect, alone or in combination with one or more of the first through sixteenth aspects, the set of network coding parameters is one of a plurality of sets of network coding parameters configured on the transmitter and each receiver of the plurality of receivers.

In an eighteenth additional aspect, alone or in combination with one or more of the first through seventeenth aspects, process 400 further includes receiving a request to switch a used set of network coding parameters from a receiver of the plurality of receivers; and transmitting an indication to use the set of network coding parameters to the plurality of receivers based at least in part on the request to switch a used set of network coding parameters.

In a nineteenth additional aspect, alone or in combination with one or more of the first through eighteenth aspects, the request to switch the used set of network coding parameters is based at least in part on the receiver identifying underperforming decoding or recovery at the receiver.

In a twentieth additional aspect, alone or in combination with one or more of the first through nineteenth aspects, the request to switch the used set of network coding parameters is received via at least one of a MAC control element or uplink control information.

In a twenty-first additional aspect, alone or in combination with one or more of the first through twentieth aspects, the feedback information includes a CSI report associated with a receiver of the plurality of receivers.

In a twenty-second additional aspect, alone or in combination with one or more of the first through twenty-first aspects, process 400 further includes selecting an MCS or a coding rate based at least in part on the CSI report.

Although FIG. 4 shows example blocks of process 400, in some aspects, process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 4. Additionally or alternatively, two or more of the blocks of process 400 may be performed in parallel.

FIG. 5 is a flowchart illustrating an example process 500 performed, for example, by a receiver in accordance with the present disclosure. Example process 500 is an example where the receiver (for example, receiver 304, which may be included in a base station 110 or a UE 120, among other examples) performs operations associated with feedback-based broadcast network coded packet transmission.

As shown in FIG. 5, in some aspects, process 500 may include receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets (block 510). For example, the receiver may receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets, as described above. When the receiver is included in a base station 110, the receiver may receive the first set of network coding encoded packets using receive processor 238, controller/processor 240, memory 242, or another component. When the receiver is included in a UE 120, the receiver may receive the first set of network coding encoded packets using receive processor 258, controller/processor 280, memory 282, or another component.

As further shown in FIG. 5, in some aspects, process 500 may include transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets (block 520). For example, the receiver may transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets, as described above. When the receiver is included in a base station 110, the receiver may transmit the feedback information using transmit processor 220, controller/processor 240, memory 242, or another component. When the receiver is included in a UE 120, the receiver may transmit the feedback information using transmit processor 264, controller/processor 280, memory 282, or another component.

Process 500 may include additional aspects, such as any single aspect or any combination of aspects described below or in connection with one or more other processes described elsewhere herein.

In a first aspect, the CSI report is included in the feedback information based at least in part on the feedback information including a negative acknowledgment associated with at least one network coding encoded packet of the first set of network coding encoded packets.

In a second additional aspect, alone or in combination with the first aspect, the feedback information identifies one or more network coding encoded packets, from the first set of network coding encoded packets, received by the receiver.

In a third additional aspect, alone or in combination with one or more of the first and second aspects, the feedback information identifies one or more source packets, of the plurality of source packets, successfully recovered by the receiver.

In a fourth additional aspect, alone or in combination with one or more of the first through third aspects, a set of network coding parameters is configured on the receiver, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or decode network coding encoded packets.

In a fifth additional aspect, alone or in combination with one or more of the first through fourth aspects, the one or more parameters include at least one of a network coding algorithm, an encoding function, an encoding matrix, or a maximum quantity of decoding iterations.

In a sixth additional aspect, alone or in combination with one or more of the first through fifth aspects, process 500 further includes receiving an indication of the set of network coding parameters via at least one of a MAC control element, downlink control information, or a radio resource control configuration.

In a seventh additional aspect, alone or in combination with one or more of the first through sixth aspects, process 500 further includes receiving an indication of the set of network coding parameters based at least in part on a request for a new set of network coding parameters, the request being transmitted by the receiver or another receiver of the plurality of receivers.

In an eighth additional aspect, alone or in combination with one or more of the first through seventh aspects, the request for the new set of network coding parameters is transmitted based at least in part on identifying underperforming decoding or recovery.

In a ninth additional aspect, alone or in combination with one or more of the first through eighth aspects, the request for the new set of network coding parameters is transmitted via at least one of a MAC control element or uplink control information.

In a tenth additional aspect, alone or in combination with one or more of the first through ninth aspects, the set of network coding parameters is one of a plurality of sets of network coding parameters configured on the receiver.

In an eleventh additional aspect, alone or in combination with one or more of the first through tenth aspects, process 500 includes receiving an indication to use the set of network coding parameters based at least in part on a request to switch a used set of network coding parameters, the request being transmitted by the receiver or another receiver of the plurality of receivers.

In a twelfth additional aspect, alone or in combination with one or more of the first through eleventh aspects, the request to switch the used set of network coding parameters is transmitted based at least in part on identifying underperforming decoding or recovery.

In a thirteenth additional aspect, alone or in combination with one or more of the first through twelfth aspects, the request to switch the used set of network coding parameters is transmitted via at least one of a MAC control element or uplink control information.

Although FIG. 5 shows example blocks of process 500, in some aspects, process 500 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 5. Additionally or alternatively, two or more of the blocks of process 500 may be performed in parallel.

FIG. 6 is a block diagram of an example apparatus 600 for wireless communication in accordance with the present disclosure. The apparatus 600 may be a transmitter, or a transmitter may include the apparatus 600. In some aspects, the apparatus 600 includes a reception component 602, a communication manager 604, and a transmission component 606, which may be in communication with one another (for example, via one or more buses). As shown, the apparatus 600 may communicate with another apparatus 608 (such as a UE, a base station, or another wireless communication device) using the reception component 602 and the transmission component 606.

In some aspects, the apparatus 600 may be configured to perform one or more operations described herein in connection with FIGS. 3A and 3B. Additionally or alternatively, the apparatus 600 may be configured to perform one or more processes described herein, such as process 400 of FIG. 4. In some aspects, the apparatus 600 may include one or more components of the transmitter described above in connection with FIG. 2.

The reception component 602 may receive communications, such as reference signals, control information, data communications, or a combination thereof, from the apparatus 608. The reception component 602 may provide received communications to one or more other components of the apparatus 600, such as the communication manager 604. In some aspects, the reception component 602 may perform signal processing on the received communications (such as filtering, amplification, demodulation, analog-to-digital conversion, demultiplexing, deinterleaving, de-mapping, equalization, interference cancellation, or decoding, among other examples), and may provide the processed signals to the one or more other components. In some aspects, the reception component 602 may include one or more antennas, a demodulator, a MIMO detector, a receive processor, a controller/processor, a memory, or a combination thereof, of the transmitter described above in connection with FIG. 2.

The transmission component 606 may transmit communications, such as reference signals, control information, data communications, or a combination thereof, to the apparatus 608. In some aspects, the communication manager 604 may generate communications and may transmit the generated communications to the transmission component 606 for transmission to the apparatus 608. In some aspects, the transmission component 606 may perform signal processing on the generated communications (such as filtering, amplification, modulation, digital-to-analog conversion, multiplexing, interleaving, mapping, or encoding, among other examples), and may transmit the processed signals to the apparatus 608. In some aspects, the transmission component 606 may include one or more antennas, a modulator, a transmit MIMO processor, a transmit processor, a controller/processor, a memory, or a combination thereof, of the transmitter described above in connection with FIG. 2. In some aspects, the transmission component 606 may be co-located with the reception component 602 in a transceiver.

The communication manager 604 may generate a plurality of source packets. The communication manager 604 may perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. The communication manager 604 may broadcast or may cause the transmission component 606 to broadcast the first set of network coding encoded packets for reception by a plurality of receivers. The communication manager 604 may receive or may cause the reception component 602 to receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. The communication manager 604 may determine, based at least in part on the feedback information, that one or more receivers of the plurality of receivers have not successfully recovered all of the plurality of source packets. The communication manager 604 may identify the first subset of network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information. The communication manager 604 may broadcast or may cause the transmission component 606 to broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers. In some aspects, the communication manager 604 may include a controller/processor, a memory, a scheduler, a communication unit, or a combination thereof, of the transmitter described above in connection with FIG. 2.

In some aspects, the communication manager 604 may include a set of components, such as a source packet generation component 610, a network coding encoding component 612, a success determination component 614, an identification component 616, or a combination thereof. Alternatively, the set of components may be separate and distinct from the communication manager 604. In some aspects, one or more components of the set of components may include or may be implemented within a controller/processor, a memory, a scheduler, a communication unit, or a combination thereof, of the transmitter described above in connection with FIG. 2. Additionally or alternatively, one or more components of the set of components may be implemented at least in part as software stored in a memory. For example, a component (or a portion of a component) may be implemented as instructions or code stored in a non-transitory computer-readable medium and executable by a controller or a processor to perform the functions or operations of the component.

In some aspects, the source packet generation component 610 may generate a plurality of source packets. In some aspects, the network coding encoding component 612 may perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets. In some aspects, the transmission component 606 may broadcast the first set of network coding encoded packets for reception by a plurality of receivers. In some aspects, the reception component 602 may receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets. In some aspects, the success determination component 614 may determine, based at least in part on the feedback information, that one or more receivers of the plurality of receivers have not successfully recovered all of the plurality of source packets. In some aspects, the identification component 616 may identify the first subset of received network coding encoded packets associated with the plurality of receivers based at least in part on the feedback information. In some aspects, the transmission component 606 may broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating the one or more receivers did not successfully recover all of the plurality of source packets. In some aspects, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.

In some aspects, the communication manager (for example, using network coding encoding component 612) may generate one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the plurality of source packets.

In some aspects, the communication manager (for example, using success determination component 614) may identify a set of received network coding encoded packets associated with the receiver based at least in part on the feedback information; decode network coding encoded packets in the set of received network coding encoded packets associated with the receiver to identify a set of source packets successfully recovered by the receiver; and determine that the receiver has not successfully recovered at least one source packet based on the plurality of source packets including the at least one source packet and the set of source packets identified as being successfully recovered by the receiver not including the at least one source packet.

In some aspects, the communication manager (for example, using success determination component 614) may determine that the receiver has not successfully recovered at least one of the plurality of source packets based on the plurality of source packets including the at least one source packet and the one or more source packets indicated as being successfully decoded by the receiver not including the at least one source packet.

In some aspects, the communication manager may (for example, using reception component 602) receive second feedback information associated with the second set of network coding encoded packet and may determine (for example, success determination component 614 may determine), based at least in part on the second feedback information, that each of the plurality of receivers has successfully recovered all of the plurality of source packets, and may cease generation of network coding encoded packets associated with the plurality of source packets.

The number and arrangement of components shown in FIG. 6 are provided as an example. In practice, there may be additional components, fewer components, different components, or differently arranged components than those shown in FIG. 6. Furthermore, two or more components shown in FIG. 6 may be implemented within a single component, or a single component shown in FIG. 6 may be implemented as multiple, distributed components. Additionally or alternatively, a set of (one or more) components shown in FIG. 6 may perform one or more functions described as being performed by another set of components shown in FIG. 6.

FIG. 7 is a block diagram of an example apparatus 700 for wireless communication in accordance with the present disclosure. The apparatus 700 may be a receiver, or a receiver may include the apparatus 700. In some aspects, the apparatus 700 includes a reception component 702, a communication manager 704, and a transmission component 706, which may be in communication with one another (for example, via one or more buses). As shown, the apparatus 700 may communicate with another apparatus 708 (such as a UE, a base station, or another wireless communication device) using the reception component 702 and the transmission component 706.

In some aspects, the apparatus 700 may be configured to perform one or more operations described herein in connection with FIGS. 3A and 3B. Additionally or alternatively, the apparatus 700 may be configured to perform one or more processes described herein, such as process 500 of FIG. 5. In some aspects, the apparatus 700 may include one or more components of the receiver described above in connection with FIG. 2.

The reception component 702 may receive communications, such as reference signals, control information, data communications, or a combination thereof, from the apparatus 708. The reception component 702 may provide received communications to one or more other components of the apparatus 700, such as the communication manager 704. In some aspects, the reception component 702 may perform signal processing on the received communications (such as filtering, amplification, demodulation, analog-to-digital conversion, demultiplexing, deinterleaving, de-mapping, equalization, interference cancellation, or decoding, among other examples), and may provide the processed signals to the one or more other components. In some aspects, the reception component 702 may include one or more antennas, a demodulator, a MIMO detector, a receive processor, a controller/processor, a memory, or a combination thereof, of the receiver described above in connection with FIG. 2.

The transmission component 706 may transmit communications, such as reference signals, control information, data communications, or a combination thereof, to the apparatus 708. In some aspects, the communication manager 704 may generate communications and may transmit the generated communications to the transmission component 706 for transmission to the apparatus 708. In some aspects, the transmission component 706 may perform signal processing on the generated communications (such as filtering, amplification, modulation, digital-to-analog conversion, multiplexing, interleaving, mapping, or encoding, among other examples), and may transmit the processed signals to the apparatus 708. In some aspects, the transmission component 706 may include one or more antennas, a modulator, a transmit MIMO processor, a transmit processor, a controller/processor, a memory, or a combination thereof, of the receiver described above in connection with FIG. 2. In some aspects, the transmission component 706 may be co-located with the reception component 702 in a transceiver.

The communication manager 704 may receive or may cause the reception component 702 to receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver. The communication manager 704 may transmit or may cause the transmission component 706 to transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report to be used in association with selecting an MCS or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets. In some aspects, the communication manager 704 may include a controller/processor, a memory, a scheduler, a communication unit, or a combination thereof, of the receiver described above in connection with FIG. 2.

In some aspects, the communication manager 704 may include a set of components, such as a feedback component 710. Alternatively, the set of components may be separate and distinct from the communication manager 704. In some aspects, one or more components of the set of components may include or may be implemented within a controller/processor, a memory, a scheduler, a communication unit, or a combination thereof, of the receiver described above in connection with FIG. 2. Additionally or alternatively, one or more components of the set of components may be implemented at least in part as software stored in a memory. For example, a component (or a portion of a component) may be implemented as instructions or code stored in a non-transitory computer-readable medium and executable by a controller or a processor to perform the functions or operations of the component.

In some aspects, the reception component 702 may receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver. In some aspects, the feedback component 710 may transmit or may cause the transmission component 706 to transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a CSI report.

The number and arrangement of components shown in FIG. 7 are provided as an example. In practice, there may be additional components, fewer components, different components, or differently arranged components than those shown in FIG. 7. Furthermore, two or more components shown in FIG. 7 may be implemented within a single component, or a single component shown in FIG. 7 may be implemented as multiple, distributed components. Additionally or alternatively, a set of (one or more) components shown in FIG. 7 may perform one or more functions described as being performed by another set of components shown in FIG. 7.

The following provides an overview of some Aspects of the present disclosure:

Aspect 1: A method of wireless communication performed by a transmitter, comprising: generating a plurality of source packets; performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets; broadcasting the first set of network coding encoded packets for reception by a plurality of receivers; receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets; and broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.

Aspect 2: The method of Aspect 1, further comprising generating one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the plurality of source packets.

Aspect 3: The method of any of Aspects 1-2, wherein the second set of network coding encoded packets includes at least one network coding encoded packet from the first set of network coding encoded packets and one or more additional network coding encoded packets, wherein the at least one network coding encoded packet from the first set of network coding encoded packets was not indicated in the feedback information as being received by at least one of the plurality of receivers.

Aspect 4: The method of any of Aspects 1-3, wherein performing the first encoding operation on the plurality of source packets generates one or more network coding encoded packets in the second set of network coding encoded packets.

Aspect 5: The method of any of Aspects 1-4, wherein the feedback information indicates one or more network coding encoded packets, of the first set of network coding encoded packets, received by a receiver of the plurality of receivers.

Aspect 6: The method of Aspect 5, wherein the feedback information indicates a second subset of network coding encoded packets of the of the first set of network coding encoded packets were received by the receiver, the method further comprising: decoding network coding encoded packets in the second subset of network coding encoded packets associated with the receiver to identify a set of source packets successfully recovered by the receiver, the set of source packets successfully recovered by the receiver not including at least one source packet included in the plurality of source packets indicating that the receiver did not successfully decode the at least one source packet.

Aspect 7: The method of any of Aspects 1-6, wherein the feedback information identifies one or more source packets, from the plurality of source packets, that were successfully decoded by a receiver of the plurality of receivers.

Aspect 8: The method of Aspect 7, wherein the one or more source packets do not include at least one source packet included in the plurality of source packets, the feedback information indicating that the at least one source packet was not successfully decoded by the receiver based on the one or more source packets not including the at least one source packet included in the plurality of source packets.

Aspect 9: The method of any of Aspects 1-8, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by each of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by each of the plurality of receivers.

Aspect 10: The method of any of Aspects 1-8, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by at least one receiver of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by at least one receiver of the plurality of receivers.

Aspect 11: The method of any of Aspects 1-10, wherein the feedback information is first feedback information, and the method further comprises: receiving second feedback information associated with the second set of network coding encoded packets, the second feedback information indicating that each of the plurality of receivers has successfully recovered all of the plurality of source packets; and ceasing generation of network coding encoded packets associated with the plurality of source packets.

Aspect 12: The method of any of Aspects 1-11, wherein a set of network coding parameters is configured on the transmitter and each receiver of the plurality of receivers, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or to decode network coding encoded packets.

Aspect 13: The method of Aspect 12, wherein the one or more parameters include at least one of a network coding algorithm, an encoding function, an encoding matrix, or a maximum quantity of decoding iterations.

Aspect 14: The method of any of Aspects 12-13, further comprising transmitting an indication of the set of network coding parameters to the plurality of receivers via at least one of a medium access control (MAC) control element (MAC-CE), downlink control information, or a radio resource control configuration.

Aspect 15: The method of any of Aspects 12-14, further comprising: receiving a request for a new set of network coding parameters from a receiver of the plurality of receivers; and transmitting an indication of the set of network coding parameters to the plurality of receivers based at least in part on the request for a new set of network coding parameters.

Aspect 16: The method of Aspect 15, wherein the request for the new set of network coding parameters is based at least in part on the receiver identifying underperforming decoding or recovery at the receiver.

Aspect 17: The method of any of Aspects 15-16, wherein the request for the new set of network coding parameters is received via at least one of a medium access control (MAC) control element (MAC-CE) or uplink control information.

Aspect 18: The method of any of Aspects 12-17, wherein the set of network coding parameters is one of a plurality of sets of network coding parameters configured on the transmitter and each receiver of the plurality of receivers.

Aspect 19: The method of Aspect 18, further comprising: receiving a request to switch a used set of network coding parameters from a receiver of the plurality of receivers; and transmitting an indication to use the set of network coding parameters to the plurality of receivers based at least in part on the request to switch a used set of network coding parameters.

Aspect 20: The method of Aspect 19, wherein the request to switch the used set of network coding parameters is based at least in part on the receiver identifying underperforming decoding or recovery at the receiver.

Aspect 21: The method of any of Aspects 19-20, wherein the request to switch the used set of network coding parameters is received via at least one of a medium access control (MAC) control element (MAC-CE) or uplink control information.

Aspect 22: The method of any of Aspects 1-21, wherein the feedback information includes a channel state information (CSI) report associated with a receiver of the plurality of receivers.

Aspect 23: The method of Aspect 22, further comprising selecting a modulation and coding scheme (MCS) or a coding rate based at least in part on the CSI report.

Aspect 24: A method of wireless communication performed by a receiver, comprising: receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets; and transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a channel state information (CSI) report to be used in association with selecting a modulation and coding scheme (MCS) or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.

Aspect 25: The method of Aspect 24, wherein the CSI report is included in the feedback information based at least in part on the feedback information including a negative acknowledgment associated with at least one network coding encoded packet of the first set of network coding encoded packets.

Aspect 26: The method of any of Aspects 24-25, wherein the feedback information identifies one or more network coding encoded packets, from the first set of network coding encoded packets, received by the receiver.

Aspect 27: The method of any of Aspects 24-26, wherein the feedback information identifies one or more source packets, of the plurality of source packets, successfully recovered by the receiver.

Aspect 28: The method of any of Aspects 24-27, wherein a set of network coding parameters is configured on the receiver, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or decode network coding encoded packets.

Aspect 29: The method of Aspect 28, wherein the one or more parameters include at least one of a network coding algorithm, an encoding function, an encoding matrix, or a maximum quantity of decoding iterations.

Aspect 30: The method of any of Aspects 28-29, further comprising receiving an indication of the set of network coding parameters via at least one of a medium access control (MAC) control element (MAC-CE), downlink control information, or a radio resource control configuration.

Aspect 31: The method of any of Aspects 28-30, further comprising receiving an indication of the set of network coding parameters based at least in part on a request for a new set of network coding parameters, the request being transmitted by the receiver or another receiver of the plurality of receivers.

Aspect 32: The method of Aspect 31, wherein the request for the new set of network coding parameters is transmitted based at least in part on identifying underperforming decoding or recovery.

Aspect 33: The method of any of Aspects 31-32, wherein the request for the new set of network coding parameters is transmitted via at least one of a medium access control (MAC) control element (MAC-CE) or uplink control information.

Aspect 34: The method of any of Aspects 28-33, wherein the set of network coding parameters is one of a plurality of sets of network coding parameters configured on the receiver.

Aspect 35: The method of Aspect 34, further comprising receiving an indication to use the set of network coding parameters based at least in part on a request to switch a used set of network coding parameters, the request being transmitted by the receiver or another receiver of the plurality of receivers.

Aspect 36: The method of Aspect 35, wherein the request to switch the used set of network coding parameters is transmitted based at least in part on identifying underperforming decoding or recovery.

Aspect 37: The method of any of Aspects 35-36, wherein the request to switch the used set of network coding parameters is transmitted via at least one of a medium access control (MAC) control element (MAC-CE) or uplink control information.

Aspect 38: An apparatus for wireless communication at a device, comprising a processor; memory coupled with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform the method of one or more of Aspects 1-23.

Aspect 39: A device for wireless communication, comprising a memory and one or more processors coupled to the memory, the one or more processors configured to perform the method of one or more of Aspects 1-23.

Aspect 40: An apparatus for wireless communication, comprising at least one means for performing the method of one or more of Aspects 1-23.

Aspect 41: A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by a processor to perform the method of one or more of Aspects 1-23.

Aspect 42: A non-transitory computer-readable medium storing a set of instructions for wireless communication, the set of instructions comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform the method of one or more of Aspects 1-23.

Aspect 43: An apparatus for wireless communication at a device, comprising a processor; memory coupled with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform the method of one or more of Aspects 24-37.

Aspect 44: A device for wireless communication, comprising a memory and one or more processors coupled to the memory, the one or more processors configured to perform the method of one or more of Aspects 24-37.

Aspect 45: An apparatus for wireless communication, comprising at least one means for performing the method of one or more of Aspects 24-37.

Aspect 46: A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by a processor to perform the method of one or more of Aspects 24-37.

Aspect 47: A non-transitory computer-readable medium storing a set of instructions for wireless communication, the set of instructions comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform the method of one or more of Aspects 24-37.

The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the aspects.

As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. As used herein, a processor is implemented in hardware, firmware, or a combination of hardware and software. It will be apparent that systems or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems or methods is not limiting of the aspects. Thus, the operation and behavior of the systems or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems or methods based, at least in part, on the description herein.

As used herein, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, or not equal to the threshold, among other examples.

Even though particular combinations of features are recited in the claims or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. In fact, many of these features may be combined in ways not specifically recited in the claims or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various aspects includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (for example, a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).

No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Furthermore, as used herein, the terms “set” and “group” are intended to include one or more items (for example, related items, unrelated items, or a combination of related and unrelated items), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” and similar terms are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (for example, if used in combination with “either” or “only one of”). 

What is claimed is:
 1. A transmitter for wireless communication, comprising: at least one processor; and at least one memory communicatively coupled with the at least one processor and storing processor-readable code that, when executed by the at least one processor, is configured to cause the transmitter to: generate a plurality of source packets; perform a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets; broadcast the first set of network coding encoded packets for reception by a plurality of receivers; receive, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets; and broadcast a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.
 2. The transmitter of claim 1, wherein the at least one memory further stores processor-readable code configured to cause the transmitter to generate one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the plurality of source packets.
 3. The transmitter of claim 1, wherein the second set of network coding encoded packets includes at least one network coding encoded packet from the first set of network coding encoded packets and one or more additional network coding encoded packets, wherein the at least one network coding encoded packet from the first set of network coding encoded packets was not indicated in the feedback information as being received by at least one of the plurality of receivers.
 4. The transmitter of claim 1, wherein the feedback information indicates one or more network coding encoded packets, of the first set of network coding encoded packets, received by a receiver of the plurality of receivers.
 5. The transmitter of claim 4, wherein the feedback information indicates a second subset of network coding encoded packets of the of the first set of network coding encoded packets were received by the receiver, and wherein the at least one memory further stores processor-readable code configured to cause the transmitter to: decode network coding encoded packets in the second subset of network coding encoded packets associated with the receiver to identify a set of source packets successfully recovered by the receiver, the set of source packets successfully recovered by the receiver not including at least one source packet included in the plurality of source packets indicating that the receiver did not successfully decode the at least one source packet.
 6. The transmitter of claim 1, wherein the feedback information identifies one or more source packets, from the plurality of source packets, that were successfully decoded by a receiver of the plurality of receivers.
 7. The transmitter of claim 6, wherein the one or more source packets do not include at least one source packet included in the plurality of source packets, the feedback information indicating that the at least one source packet was not successfully decoded by the receiver based on the one or more source packets not including the at least one source packet included in the plurality of source packets.
 8. The transmitter of claim 1, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by each of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by each of the plurality of receivers.
 9. The transmitter of claim 1, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by at least one receiver of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by at least one receiver of the plurality of receivers.
 10. The transmitter of claim 1, wherein the feedback information is first feedback information, and wherein the at least one memory further stores processor-readable code configured to cause the transmitter to: receive second feedback information associated with the second set of network coding encoded packets, the second feedback information indicating that each of the plurality of receivers has successfully recovered all of the plurality of source packets; and cease generation of network coding encoded packets associated with the plurality of source packets.
 11. The transmitter of claim 1, wherein a set of network coding parameters is configured on the transmitter and each receiver of the plurality of receivers, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or to decode network coding encoded packets.
 12. The transmitter of claim 11, wherein the at least one memory further stores processor-readable code configured to cause the transmitter to: receive a request for a new set of network coding parameters from a receiver of the plurality of receivers; and transmit an indication of the set of network coding parameters to the plurality of receivers based at least in part on the request for a new set of network coding parameters.
 13. The transmitter of claim 1, wherein the feedback information includes a channel state information (CSI) report associated with a receiver of the plurality of receivers.
 14. A method of wireless communication performed by a transmitter, comprising: generating a plurality of source packets; performing a first encoding operation on the plurality of source packets that generates a first set of network coding encoded packets; broadcasting the first set of network coding encoded packets for reception by a plurality of receivers; receiving, from the plurality of receivers, feedback information associated with the first set of network coding encoded packets, the feedback information indicating that a first subset of network coding encoded packets of the first set of network coding encoded packets were received by at least one of the plurality of receivers, the feedback information further indicating that one or more receivers of the plurality of receivers did not successfully recover all of the plurality of source packets; and broadcasting a second set of network coding encoded packets for reception by at least the one or more receivers based on the feedback information indicating that the one or more receivers did not successfully recover all of the plurality of source packets, the second set of network coding encoded packets not including any network coding encoded packets of the first subset of network coding encoded packets that were received by at least one of the plurality of receivers.
 15. The method of claim 14, further comprising generating one or more network coding encoded packets of the second set of network coding encoded packets based on performing a second encoding operation on the plurality of source packets.
 16. The method of claim 14, wherein the second set of network coding encoded packets includes at least one network coding encoded packet from the first set of network coding encoded packets and one or more additional network coding encoded packets, wherein the at least one network coding encoded packet from the first set of network coding encoded packets was not indicated in the feedback information as being received by at least one of the plurality of receivers.
 17. The method of claim 14, wherein the feedback information indicates one or more network coding encoded packets, of the first set of network coding encoded packets, received by a receiver of the plurality of receivers.
 18. The method of claim 17, wherein the feedback information indicates a second subset of network coding encoded packets of the of the first set of network coding encoded packets were received by the receiver, the method further comprising: decoding network coding encoded packets in the second subset of network coding encoded packets associated with the receiver to identify a set of source packets successfully recovered by the receiver, the set of source packets successfully recovered by the receiver not including at least one source packet included in the plurality of source packets indicating that the receiver did not successfully decode the at least one source packet.
 19. The method of claim 14, wherein the feedback information identifies one or more source packets, from the plurality of source packets, that were successfully decoded by a receiver of the plurality of receivers.
 20. The method of claim 19, wherein the one or more source packets do not include at least one source packet included in the plurality of source packets, the feedback information indicating that the at least one source packet was not successfully decoded by the receiver based on the one or more source packets not including the at least one source packet included in the plurality of source packets.
 21. The method of claim 14, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by each of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by each of the plurality of receivers.
 22. The method of claim 14, wherein the feedback information indicates received network coding encoded packets of the first set of network coding encoded packets that were received by at least one receiver of the plurality of receivers, wherein the first subset of network coding encoded packets includes only network coding encoded packets that were received by at least one receiver of the plurality of receivers.
 23. The method of claim 14, wherein the feedback information is first feedback information, and the method further comprises: receiving second feedback information associated with the second set of network coding encoded packets, the second feedback information indicating that each of the plurality of receivers has successfully recovered all of the plurality of source packets; and ceasing generation of network coding encoded packets associated with the plurality of source packets.
 24. The method of claim 14, wherein a set of network coding parameters is configured on the transmitter and each receiver of the plurality of receivers, the set of network coding parameters including one or more parameters used to generate network coding encoded packets or to decode network coding encoded packets.
 25. The method of claim 24, further comprising: receiving a request for a new set of network coding parameters from a receiver of the plurality of receivers; and transmitting an indication of the set of network coding parameters to the plurality of receivers based at least in part on the request for a new set of network coding parameters.
 26. The method of claim 14, wherein the feedback information includes a channel state information (CSI) report associated with a receiver of the plurality of receivers.
 27. A receiver for wireless communication, comprising: at least one processor; and at least one memory communicatively coupled with the at least one processor and storing processor-readable code that, when executed by the at least one processor, is configured to cause the receiver to: receive a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets; and transmit feedback information associated with the first set of network coding encoded packets, the feedback information including a channel state information (CSI) report to be used in association with selecting a modulation and coding scheme (MC S) or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.
 28. The receiver of claim 27, wherein the CSI report is included in the feedback information based at least in part on the feedback information including a negative acknowledgment associated with at least one network coding encoded packet of the first set of network coding encoded packets.
 29. A method of wireless communication performed by a receiver, comprising: receiving a first set of network coding encoded packets broadcast for reception by a plurality of receivers including the receiver, the first set of network coding encoded packets being based on a first encoding operation performed on a plurality of source packets; and transmitting feedback information associated with the first set of network coding encoded packets, the feedback information including a channel state information (CSI) report to be used in association with selecting a modulation and coding scheme (MCS) or a coding rate to be used in association with performing a second encoding operation on the plurality of source packets to generate a second set of network coding encoded packets.
 30. The method of claim 29, wherein the CSI report is included in the feedback information based at least in part on the feedback information including a negative acknowledgment associated with at least one network coding encoded packet of the first set of network coding encoded packets. 